package com.uvnos4j.matilda.security.mapper;

import com.uvnos4j.matilda.security.domain.AuthUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 认证鉴权 Mapper
 * <p>
 * Description: 认证鉴权 Mapper
 * </p>
 *
 * @author Guo.wl
 * @version v1.0.0
 * @see com.uvnos4j.matilda.security.mapper
 * @since 2020-08-31 22:26:12
 */
public interface AuthMapper {

    /**
     * 用户查询
     *
     * @param username 用户名
     * @return 认证用户信息
     */
    AuthUser getByUsername(@Param("username") String username);

    /**
     * 获取用户的角色权限
     *
     * @param userId 用户Id
     * @return 角色集合
     */
    List<String> findRolesByUserId(@Param("userId") Long userId);

    /**
     * 获取用户拥有的权限
     *
     * @param userId 用户Id
     * @return 权限集合
     */
    List<String> findAclsByUserId(@Param("userId") Long userId);

}
